# _*_ utf-8 _*_
# 了解冒泡排序法的原理与实现

import random
lst = [random.randint(1, 100) for i in range(5)]
print("排序前：", lst)
"""
冒泡排序的原理，
    1、使用第一个元素和后面的每一个元素进行比较，找到最小值，将最小值与第一个元素进行交换
    2、遍历计数器+1
    3、重复上一步操作
    冒泡排序是最经典的排序方法之一，相比于其他的排序方法要便于理解
    时间复杂度为O^2
"""
for i in range(len(lst) - 1):
    min_index = i   # 假设第一个下标的元素为最小值
    for j in range(i + 1, len(lst)):
        # 遍历第一个元素后面的全部元素，如果找到比假设的 \
        # 最小值还小的元素，那就记录下此下标
        if lst[j] < lst[min_index]:
            min_index = j
            # 第一轮循环结束，可以确定列表中的最小值，进行交换，进行下一轮的比较
    lst[i], lst[min_index] = lst[min_index], lst[i]
print("排序后：", lst)


